home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
mac
/
LOGIC Apple II 5.25" Library - ProDOS
/
PRO003.dsk
/
DEMOS
/
MORTGAGE.INFO.bas
< prev
next >
Wrap
BASIC Source File
|
2012-02-16
|
5KB
|
126 lines
1 GOTO 5000
2 GOTO 2000
10 HOME
11 VTAB 2: HTAB 10: INVERSE : PRINT "AMMITORIZATION TABLE": NORMAL : PRINT : PRINT
15 DIA = 0:DPA = 0
20 YEAR = 0
110 INPUT "AMOUNT OF LOAN: ";L
112 IF L = 0 THEN VTAB 5: HTAB 17: INVERSE : PRINT "DEFAULT": NORMAL
120 INPUT "PERCENTAGE (%) PER ANNUM: ";P
130 INPUT "NUMBER OF PERIODS PER ANNUM :";A
140 INPUT "NUMBER OF YEARS: ";N:N = N *12: REM TOTAL # OF PAYMENTS
141 H = 0:R = (P/100)/A
142 IF L = 0 THEN INPUT "MONTHLY PAYMENTS: ";M: GOTO 144
143 GOTO 148
144 L = M *(1 -(1 +R) ^ -N)/R:L = INT(L): GOTO 149
148 M = L *R/(1 -(1 +R) ^ -N):M = ( INT(M *100))/100
149 HOME : VTAB 7
150 PRINT "PERIOD MORTAGE INTEREST PRINCIPAL": FOR X = 1 TO 35: HTAB X: PRINT "-";: NEXT X: PRINT "-"
162 VTAB 21
163 PRINT : PRINT "---------------------------------------": PRINT "<ESC> TO ESCAPE - <RTN> TO CONTINUE:"
165 VTAB 1
170 PRINT "MORTAGE:$";L: PRINT "IN.RATE: ";P;"%": PRINT "PERIODS: ";N
173 PRINT "PAYMENT:$";M
174 VTAB 2: HTAB 20: PRINT "PRINCIPIL:$";DIA
175 VTAB 4: HTAB 21: PRINT "INTEREST:$";DPA
176 VTAB 1: HTAB 25: PRINT "COST:$"; INT((M *N) -L)
177 POKE 34,8: POKE 35,21
180 MT = L
185 PE = 0
190 FOR Y = 1 TO INT(N/12) +1
192 YEAR = YEAR +1
193 VTAB 3: HTAB 25: PRINT "YEAR: ";YEAR
195 VTAB 9
200 FOR Z = 1 TO 12
210 PE = PE +1:I = MT *R:PR = M -I
220 HTAB 2: PRINT PE;: HTAB 9: PRINT INT(MT);: HTAB 18: PRINT INT(I);: HTAB 30: PRINT INT(PR)
225 DIA = DIA + INT(PR)
226 DPA = DPA + INT(I)
230 MT = MT -PR
235 IF MT <0 THEN 241
240 NEXT Z
241 VTAB 2: HTAB 31: PRINT DIA
242 VTAB 4: HTAB 31: PRINT DPA
243 IF Y *Z -12 >N THEN 300
244 IF PE = N THEN 300
245 VTAB 23: HTAB 37
250 GET Q$: IF Q$ = "" THEN 250
270 IF Q$ = CHR$(13) THEN HOME : NEXT Y
280 IF Q$ = CHR$(27) THEN 300
290 PRINT "<CTRL-G>": GOTO 245
300 POKE 34,0: POKE 35,24
305 PRINT "<CTRL-G><CTRL-G><CTRL-G>"
310 VTAB 23: HTAB 37
320 GET Q$: IF Q$ = "" THEN 320
330 IF Q$ = CHR$(13) THEN 10
340 IF Q$ = CHR$(27) THEN GOTO 2000
350 PRINT "<CTRL-G>": GOTO 310
1000 REM MORTAGE TABLET
1010 TEXT : HOME
1020 VTAB 2: HTAB 10: INVERSE : PRINT "MORTAGE SPREAD SHEET": NORMAL : PRINT
1030 INPUT "LENGTH OF MORTAGE IN YEARS: ";YEARS
1040 INPUT "LOWEST INTERSEST RATE OBTAINABLE: ";L%
1050 INPUT "PERCENTAGE INCREMENTS: ";I
1060 INPUT "MINIMUM MORTAGE: ";MIN
1070 INPUT "MORTAGE INCREMENTS: ";INC
1079 M = MIN -INC
1080 HOME : PRINT "MORTAGE IS BASED ON A ";: INVERSE : FLASH : PRINT YEARS;: NORMAL : PRINT " YEAR TERM"
1090 VTAB 3: PRINT "MORT.";: HTAB 8: PRINT L%;: HTAB 13: PRINT L% +I;: HTAB 18: PRINT L% +(I *2);: HTAB 23: PRINT L% +(I *3);: HTAB 28: PRINT L% +(I *4);: HTAB 33: PRINT L% +(I *5)
1100 FOR X = 1 TO 39: HTAB X: PRINT "-";: NEXT X: PRINT "-"
1105 V = 5
1110 FOR X = 1 TO 15
1120 M = M +INC
1130 VTAB V: PRINT M:H = 8
1140 FOR II = L% TO (L% +5 *I) STEP I
1150 PMT = INT(M *(II/1200)/(1 -(1 +(II/1200)) ^( -(YEARS *12))))
1160 VTAB V: HTAB H: PRINT PMT:H = H +5: NEXT II:V = V +1: NEXT X
1170 FOR X = 1 TO 39: HTAB X: PRINT "-";: NEXT X: PRINT "-"
1180 PRINT "<ESC> TO ESCAPE - <RTN> TO CONTINUE:"
1190 VTAB 22: HTAB 37: GET A$
1200 IF A$ = CHR$(13) THEN HOME : GOTO 1080
1210 IF A$ = CHR$(27) THEN GOTO 2000
1220 PRINT "<CTRL-G>": GOTO 1190
2000 HOME
2010 VTAB 10: HTAB 10: PRINT "1- AMMORORTIZATION TABLE"
2015 VTAB 12: HTAB 10: PRINT "2- MORTAGE TABLE"
2020 VTAB 14: HTAB 10: PRINT "3- EXIT"
2025 VTAB 18: HTAB 10: PRINT "SELECTION:"
2030 VTAB 18: HTAB 21: GET A$
2040 A = VAL(A$)
2050 IF A = 1 THEN 10
2060 IF A = 2 THEN 1000
2065 IF A = 3 THEN HOME : END
2070 PRINT "<CTRL-G>": GOTO 2030
5000 REM INSTRUCTIONS
5005 TEXT : HOME : VTAB 10: HTAB 8: PRINT "PROGRAM BY: ANDY RAUER": PRINT : PRINT : HTAB 13: PRINT "DATE:JUNE 84": FOR X = 1 TO 2000: NEXT X: HOME
5010 TEXT : HOME
5020 FOR X = 1 TO 39: HTAB X: INVERSE : PRINT " ";: NEXT X
5030 FOR X = 1 TO 23: HTAB 40: PRINT " ";: NEXT X
5040 FOR X = 39 TO 1 STEP -1: VTAB 23: HTAB X: PRINT " ": NEXT X
5050 VTAB 1: FOR X = 1 TO 22: PRINT " ": NEXT X
5055 NORMAL
5060 VTAB 3: HTAB 13: INVERSE : PRINT ". ."
5065 HTAB 13: PRINT " "
5067 HTAB 13: PRINT " MORTAGE HELPER "
5069 HTAB 13: PRINT ". ."
5070 HTAB 13: PRINT " "
5075 NORMAL
5080 VTAB 13: HTAB 10: PRINT "PROGRAM BY ANDY RAUER"
5090 VTAB 15: HTAB 16: PRINT "JUNE 3,1984"
5100 VTAB 20: HTAB 16: INVERSE : PRINT "HIT ANY KEY": NORMAL
5110 VTAB 20: HTAB 28: GET A$: IF A$ = "" THEN 5110
5120 HOME
5130 PRINT : HTAB 14: INVERSE : PRINT "INSTRUCTIONS": NORMAL
5140 PRINT : PRINT "AMMITORIZATION TABLE:": PRINT
5150 PRINT "THIS OPTION ENABLES THE USER TO ": PRINT "CALCULATE SPECIFIC MONTHLY PATMENTS BY"
5160 PRINT "REQUESTED DATA OR TO DETERMINE THE ": PRINT "AMOUNT OF THE MORTAGE BASED ON YOUR"
5170 PRINT "MONTHLY AFFORDABILITY. THE LATTER": PRINT "OPTION CAN BE SELECTED BY ENTERING A 0"
5180 PRINT "TO THE QUESTION 'AMOUNT OF LOAN'."
5190 PRINT : PRINT : PRINT "MORTAGE TABLE:"
5195 PRINT
5200 PRINT "THIS OPTION ENABLES YOU TO OUTPUT A"
5210 PRINT "TABLE OF LOAN OR MORTAGE PAYMENTS OVER"
5220 PRINT "A PARTICULAR LOAN AND INTEREST SPREAD."
5230 VTAB 22: HTAB 7: INVERSE : PRINT "HIT ANY KEY TO CONTINUE": NORMAL
5240 VTAB 22: HTAB 33: GET A$: IF A$ = "" THEN 5240
5250 HOME : GOTO 2000